package com.lyf.scm.plan.insfrastructure.db.dataobject.bigdata;

import com.lyf.scm.common.constants.BigDataEsConstants;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.math.BigDecimal;

/**
 * 需求计划
 *
 * @author wangchlei
 * @date 2020/10/19
 */
@Data
@Document(indexName = BigDataEsConstants.INDEX_NAME_PLAN_REQUIREMENT, type = BigDataEsConstants.TYPE_NAME_REQUIREMENT)
public class RequirementsPlanningEntity {
    /**
     *
     */
    @Id
    private String id;
    /**
     * TODO 以下字段大数据暂定提供（待定）
     */
    /**
     * 渠道编码**
     */
    @Field(type = FieldType.Keyword)
    private String channelCode;
    /**
     * 门店编码**
     */
    @Field(type = FieldType.Keyword)
    private String storeCode;
    /**
     * 商品编码**
     */
    @Field(type = FieldType.Keyword)
    private String skuCode;
    /**
     * 收货仓库**
     */
    @Field(type = FieldType.Keyword)
    private String receivingWarehouse;
    /**
     * 预测计划量(待定)**
     */
    @Field(type = FieldType.Double)
    private BigDecimal forecastPlanVolume;
    /**
     * 安全库存量(待定)**
     */
    @Field(type = FieldType.Double)
    private BigDecimal safetyStock;
    /**
     * 实际销量(待定)**
     */
    @Field(type = FieldType.Double)
    private BigDecimal actualSales;
    /**
     * 销售计划量(待定)**
     */
    @Field(type = FieldType.Double)
    private BigDecimal salesPlanVolume;
    /**
     * 大品类**
     */
    @Field(type = FieldType.Keyword)
    private String priCategoryCode;
    /**
     * 中品类**
     */
    @Field(type = FieldType.Keyword)
    private String secCategoryCode;
    /**
     * 小品类**
     */
    @Field(type = FieldType.Keyword)
    private String terCategoryCode;
    /**
     * 省**
     */
    @Field(type = FieldType.Keyword)
    private String provinceCode;
    /**
     * 市**
     */
    @Field(type = FieldType.Keyword)
    private String cityCode;
    /**
     * 区**
     */
    @Field(type = FieldType.Keyword)
    private String countyCode;
    /**
     * 周开始日期**
     */
    @Field(type = FieldType.Keyword)
    private String startDate;
    /**
     * 周结束日期**
     */
    @Field(type = FieldType.Keyword)
    private String endDate;
}
